package com.pureut.order.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pureut.order.domain.ProcurementPlan;
import com.pureut.order.dto.ProcurementPlanDto;
import com.pureut.order.vo.OrderReviewVo;
import com.pureut.order.vo.ProcurementPlanUpdateVo;
import com.pureut.order.vo.ProcurementPlanVo;
import io.swagger.models.auth.In;

import java.sql.SQLException;
import java.util.List;

public interface ProcurementPlanService extends IService<ProcurementPlan> {

    /**
     * 采购计划列表
     */
    List<ProcurementPlanDto> getList(ProcurementPlanVo procurementPlanVo);

    /**
     * 新增采购计划列表
     */
    boolean addProcurementPlan(ProcurementPlanVo procurementPlanVo) throws Exception;

    /**
     * 修改采购计划
     */
    boolean updateProcurementPlan(ProcurementPlanUpdateVo procurementPlanUpdateVo);

    /**
     * 提交审核
     */
    boolean submitReview(Long id);

    /**
     * 撤销审核
     */
    boolean deleteReview(Long id);

    /**
     * 删除采购计划
     */
    boolean deleteProcurementPlan(String ids);

    /**
     * 撤回采购计划
     */
    boolean backPlan(Long id) throws SQLException;

    /**
     * 关结采购计划
     */
    boolean closePlan(ProcurementPlanVo procurementPlanVo);

    /**
     * 查看
     */
    ProcurementPlanDto getPlanById(Long id);

    /**
     * 审核单据
     */
    boolean purchaseReview(OrderReviewVo orderReviewVo);
}
